IPL 2022 Data Analysis Project¶
In [1]:
import pandas as pd # Used in data preprocessing
import plotly.express as px # Used in data visualization
import plotly.graph_objects as go
In [2]:
data=pd.read_csv("C:\\Users\\hp\\Downloads\IPL.csv")
In [3]:
data
Out[3]:
| match_id | date | venue | team1 | team2 | stage | toss_winner | toss_decision | first_ings_score | first_ings_wkts | second_ings_score | second_ings_wkts | match_winner | won_by | margin | player_of_the_match | top_scorer | highscore | best_bowling | best_bowling_figure | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | March 26,2022 | Wankhede Stadium, Mumbai | Chennai | Kolkata | Group | Kolkata | Field | 131.0 | 5.0 | 133.0 | 4.0 | Kolkata | Wickets | 6.0 | Umesh Yadav | MS Dhoni | 50.0 | Dwayne Bravo | 3--20 |
| 1 | 2 | March 27,2022 | Brabourne Stadium, Mumbai | Delhi | Mumbai | Group | Delhi | Field | 177.0 | 5.0 | 179.0 | 6.0 | Delhi | Wickets | 4.0 | Kuldeep Yadav | Ishan Kishan | 81.0 | Kuldeep Yadav | 3--18 |
| 2 | 3 | March 27,2022 | Dr DY Patil Sports Academy, Mumbai | Banglore | Punjab | Group | Punjab | Field | 205.0 | 2.0 | 208.0 | 5.0 | Punjab | Wickets | 5.0 | Odean Smith | Faf du Plessis | 88.0 | Mohammed Siraj | 2--59 |
| 3 | 4 | March 28,2022 | Wankhede Stadium, Mumbai | Gujarat | Lucknow | Group | Gujarat | Field | 158.0 | 6.0 | 161.0 | 5.0 | Gujarat | Wickets | 5.0 | Mohammed Shami | Deepak Hooda | 55.0 | Mohammed Shami | 3--25 |
| 4 | 5 | March 29,2022 | Maharashtra Cricket Association Stadium,Pune | Hyderabad | Rajasthan | Group | Hyderabad | Field | 210.0 | 6.0 | 149.0 | 7.0 | Rajasthan | Runs | 61.0 | Sanju Samson | Aiden Markram | 57.0 | Yuzvendra Chahal | 3--22 |
| 5 | 6 | March 30,2022 | Dr DY Patil Sports Academy, Mumbai | Banglore | Kolkata | Group | Banglore | Field | 128.0 | 10.0 | 132.0 | 7.0 | Banglore | Wickets | 3.0 | Wanindu Hasaranga | Sherfane Rutherford | 28.0 | Wanindu Hasaranga | 4--20 |
| 6 | 7 | March 31,2022 | Brabourne Stadium, Mumbai | Chennai | Lucknow | Group | Lucknow | Field | 210.0 | 7.0 | 211.0 | 4.0 | Lucknow | Wickets | 6.0 | Evin Lewis | Quinton de Kock | 61.0 | Ravi Bishnoi | 2--24 |
| 7 | 8 | April 1,2022 | Wankhede Stadium, Mumbai | Kolkata | Punjab | Group | Kolkata | Field | 137.0 | 10.0 | 141.0 | 4.0 | Kolkata | Wickets | 6.0 | Umesh Yadav | Andre Russell | 70.0 | Umesh Yadav | 4--23 |
| 8 | 9 | April 2,2022 | Dr DY Patil Sports Academy, Mumbai | Mumbai | Rajasthan | Group | Mumbai | Field | 193.0 | 8.0 | 170.0 | 8.0 | Rajasthan | Runs | 23.0 | Jos Buttler | Jos Buttler | 100.0 | Jasprit Bumrah | 3--17 |
| 9 | 10 | April 2,2022 | Maharashtra Cricket Association Stadium,Pune | Delhi | Gujarat | Group | Delhi | Field | 171.0 | 6.0 | 157.0 | 9.0 | Gujarat | Runs | 14.0 | Lockie Ferguson | Shubman Gill | 84.0 | Lockie Ferguson | 4--28 |
| 10 | 11 | April 3,2022 | Brabourne Stadium, Mumbai | Chennai | Punjab | Group | Chennai | Field | 180.0 | 8.0 | 126.0 | 10.0 | Punjab | Runs | 54.0 | Liam Livingstone | LiamLivingstone | 60.0 | Rahul Chahar | 3--25 |
| 11 | 12 | April 4,2022 | Dr DY Patil Sports Academy, Mumbai | Hyderabad | Lucknow | Group | Hyderabad | Field | 169.0 | 7.0 | 157.0 | 9.0 | Lucknow | Runs | 12.0 | Avesh Khan | KL Rahul | 68.0 | Avesh Khan | 4--24 |
| 12 | 13 | April 5,2022 | Wankhede Stadium, Mumbai | Banglore | Rajasthan | Group | Banglore | Field | 169.0 | 3.0 | 173.0 | 6.0 | Banglore | Wickets | 4.0 | Dinesh Karthik | Jos Buttler | 70.0 | Yuzvendra Chahal | 2--15 |
| 13 | 14 | April 6,2022 | Maharashtra Cricket Association Stadium,Pune | Kolkata | Mumbai | Group | Kolkata | Field | 161.0 | 4.0 | 162.0 | 5.0 | Kolkata | Wickets | 5.0 | Pat Cummins | Pat Cummins | 56.0 | Murugan Ashwin | 2--25 |
| 14 | 15 | April 7,2022 | Dr DY Patil Sports Academy, Mumbai | Delhi | Lucknow | Group | Lucknow | Field | 149.0 | 3.0 | 155.0 | 4.0 | Lucknow | Wickets | 6.0 | Quinton de Kock | Quinton de Kock | 80.0 | Ravi Bishnoi | 2--22 |
| 15 | 16 | April 8,2022 | Brabourne Stadium, Mumbai | Gujarat | Punjab | Group | Gujarat | Field | 189.0 | 9.0 | 190.0 | 4.0 | Gujarat | Wickets | 6.0 | Shubman Gill | Shubman Gill | 96.0 | Rashid Khan | 3--22 |
| 16 | 17 | April 9,2022 | Dr DY Patil Sports Academy, Mumbai | Chennai | Hyderabad | Group | Hyderabad | Field | 154.0 | 7.0 | 155.0 | 2.0 | Hyderabad | Wickets | 8.0 | Abhishek Sharma | Abhishek Sharma | 75.0 | Washington Sundar | 2--21 |
| 17 | 18 | April 9,2022 | Maharashtra Cricket Association Stadium,Pune | Banglore | Mumbai | Group | Banglore | Field | 151.0 | 6.0 | 152.0 | 3.0 | Banglore | Wickets | 7.0 | Anuj Rawat | Suryakumar Yadav | 68.0 | Harshal Patel | 2--23 |
| 18 | 19 | April 10,2022 | Brabourne Stadium, Mumbai | Delhi | Kolkata | Group | Kolkata | Field | 215.0 | 5.0 | 171.0 | 10.0 | Delhi | Runs | 44.0 | Kuldeep Yadav | David Warner | 61.0 | Kuldeep Yadav | 4--35 |
| 19 | 20 | April 10,2022 | Wankhede Stadium, Mumbai | Lucknow | Rajasthan | Group | Lucknow | Field | 165.0 | 6.0 | 162.0 | 8.0 | Rajasthan | Runs | 3.0 | Yuzvendra Chahal | Shimron Hetmyer | 59.0 | Yuzvendra Chahal | 4--41 |
| 20 | 21 | April11,2022 | Dr DY Patil Sports Academy, Mumbai | Gujarat | Hyderabad | Group | Hyderabad | Field | 162.0 | 7.0 | 168.0 | 2.0 | Hyderabad | Wickets | 8.0 | Kane Williamson | Kane Williamson | 57.0 | T Natarajan | 2--34 |
| 21 | 22 | April 12,2022 | Dr DY Patil Sports Academy, Mumbai | Banglore | Chennai | Group | Banglore | Field | 216.0 | 4.0 | 193.0 | 9.0 | Chennai | Runs | 23.0 | Shivam Dube | Shivam Dube | 95.0 | Maheesh Theekshana | 4--33 |
| 22 | 23 | April 13,2022 | Maharashtra Cricket Association Stadium,Pune | Mumbai | Punjab | Group | Mumbai | Field | 198.0 | 5.0 | 186.0 | 9.0 | Punjab | Runs | 12.0 | Mayank Agarwal | Shikhar Dhawan | 70.0 | Odean Smith | 4--30 |
| 23 | 24 | April 14,2022 | Dr DY Patil Sports Academy, Mumbai | Gujarat | Rajasthan | Group | Rajasthan | Field | 192.0 | 4.0 | 155.0 | 9.0 | Gujarat | Runs | 37.0 | Hardik Pandya | Hardik Pandya | 87.0 | Lockie Ferguson | 3--23 |
| 24 | 25 | April 15,2022 | Brabourne Stadium, Mumbai | Hyderabad | Kolkata | Group | Hyderabad | Field | 175.0 | 8.0 | 176.0 | 3.0 | Hyderabad | Wickets | 7.0 | Rahul Tripathi | Rahul Tripathi | 71.0 | T Natarajan | 3--37 |
| 25 | 26 | April 16,2022 | Brabourne Stadium, Mumbai | Lucknow | Mumbai | Group | Mumbai | Field | 199.0 | 4.0 | 181.0 | 9.0 | Lucknow | Runs | 18.0 | K L Rahul | KL Rahul | 103.0 | Avesh Khan | 3--30 |
| 26 | 27 | April 16,2022 | Wankhede Stadium, Mumbai | Banglore | Delhi | Group | Delhi | Field | 189.0 | 5.0 | 173.0 | 7.0 | Banglore | Runs | 16.0 | Dinesh Karthik | Dinesh Karthik | 66.0 | Josh Hazlewood | 3--28 |
| 27 | 28 | April 17,2022 | Dr DY Patil Sports Academy, Mumbai | Hyderabad | Punjab | Group | Hyderabad | Field | 151.0 | 10.0 | 152.0 | 3.0 | Hyderabad | Wickets | 7.0 | Umran Malik | LiamLivingstone | 60.0 | Umran Malik | 4--28 |
| 28 | 29 | April 17,2022 | Maharashtra Cricket Association Stadium,Pune | Chennai | Gujarat | Group | Gujarat | Field | 169.0 | 5.0 | 170.0 | 7.0 | Gujarat | Wickets | 3.0 | David Miller | David Miller | 94.0 | Dwayne Bravo | 3--23 |
| 29 | 30 | April 18,2022 | Brabourne Stadium, Mumbai | Kolkata | Rajasthan | Group | Kolkata | Field | 217.0 | 5.0 | 210.0 | 10.0 | Rajasthan | Runs | 7.0 | Yuzvendra Chahal | Jos Buttler | 103.0 | Yuzvendra Chahal | 5--40 |
| 30 | 31 | April 19,2022 | Dr DY Patil Sports Academy, Mumbai | Banglore | Lucknow | Group | Lucknow | Field | 181.0 | 6.0 | 163.0 | 8.0 | Banglore | Runs | 18.0 | Faf du Plessis | Faf du Plessis | 96.0 | Josh Hazlewood | 4--25 |
| 31 | 32 | April 20,2022 | Brabourne Stadium, Mumbai | Delhi | Punjab | Group | Delhi | Field | 115.0 | 10.0 | 119.0 | 1.0 | Delhi | Wickets | 9.0 | Kuldeep Yadav | David Warner | 60.0 | Axar Patel | 2--10 |
| 32 | 33 | April 21,2022 | Dr DY Patil Sports Academy, Mumbai | Chennai | Mumbai | Group | Chennai | Field | 155.0 | 7.0 | 156.0 | 7.0 | Chennai | Wickets | 3.0 | Mukesh Choudhary | Tilak Varma | 51.0 | Daniel Sams | 4--30 |
| 33 | 34 | April 22,2022 | Wankhede Stadium, Mumbai | Delhi | Rajasthan | Group | Delhi | Field | 222.0 | 2.0 | 207.0 | 8.0 | Rajasthan | Runs | 15.0 | Jos Buttler | Jos Buttler | 116.0 | Prasidh Krishna | 3--22 |
| 34 | 35 | April 23,2022 | Dr DY Patil Sports Academy, Mumbai | Gujarat | Kolkata | Group | Gujarat | Bat | 156.0 | 9.0 | 148.0 | 8.0 | Gujarat | Runs | 8.0 | Rashid Khan | Hardik Pandya | 67.0 | Andre Russell | 4--5 |
| 35 | 36 | April 23,2022 | Brabourne Stadium, Mumbai | Banglore | Hyderabad | Group | Hyderabad | Field | 68.0 | 10.0 | 72.0 | 1.0 | Hyderabad | Wickets | 9.0 | Marco Jansen | Abhishek Sharma | 47.0 | T Natarajan | 3--10 |
| 36 | 37 | April 24,2022 | Wankhede Stadium, Mumbai | Lucknow | Mumbai | Group | Mumbai | Field | 168.0 | 6.0 | 132.0 | 8.0 | Lucknow | Runs | 36.0 | K L Rahul | KL Rahul | 103.0 | Krunal Pandya | 3--19 |
| 37 | 38 | April 25,2022 | Wankhede Stadium, Mumbai | Chennai | Punjab | Group | Chennai | Field | 187.0 | 4.0 | 176.0 | 6.0 | Punjab | Runs | 11.0 | Shikhar Dhawan | Shikhar Dhawan | 88.0 | Kagiso Rabada | 2--23 |
| 38 | 39 | April 26,2022 | Maharashtra Cricket Association Stadium,Pune | Banglore | Rajasthan | Group | Banglore | Field | 144.0 | 8.0 | 115.0 | 10.0 | Rajasthan | Runs | 29.0 | Riyan Parag | Riyan Parag | 56.0 | Kuldeep Sen | 4--20 |
| 39 | 40 | April 27,2022 | Wankhede Stadium, Mumbai | Gujarat | Hyderabad | Group | Gujarat | Field | 195.0 | 6.0 | 199.0 | 5.0 | Gujarat | Wickets | 5.0 | Umran Malik | W. Saha | 68.0 | Umran Malik | 5--25 |
| 40 | 41 | April 28,2022 | Wankhede Stadium, Mumbai | Delhi | Kolkata | Group | Delhi | Field | 146.0 | 9.0 | 150.0 | 6.0 | Delhi | Wickets | 4.0 | Kuldeep Yadav | Nitish Rana | 57.0 | Kuldeep Yadav | 4--14 |
| 41 | 42 | April 29,2022 | Maharashtra Cricket Association Stadium,Pune | Lucknow | Punjab | Group | Punjab | Field | 153.0 | 8.0 | 133.0 | 8.0 | Lucknow | Runs | 20.0 | Krunal Pandya | Quinton de Kock | 46.0 | Kagiso Rabada | 4--38 |
| 42 | 43 | April 30,2022 | Brabourne Stadium, Mumbai | Banglore | Gujarat | Group | Banglore | Bat | 170.0 | 6.0 | 174.0 | 4.0 | Gujarat | Wickets | 6.0 | Rahul Tewatia | Virat Kohli | 58.0 | Pradeep Sangwan | 2--19 |
| 43 | 44 | April 30,2022 | Dr DY Patil Sports Academy, Mumbai | Mumbai | Rajasthan | Group | Mumbai | Field | 158.0 | 6.0 | 161.0 | 5.0 | Mumbai | Wickets | 5.0 | Suruakumar Yadav | Jos Buttler | 67.0 | Rilley Meredith | 2--24 |
| 44 | 45 | May 1,2022 | Wankhede Stadium, Mumbai | Delhi | Lucknow | Group | Lucknow | Bat | 195.0 | 3.0 | 189.0 | 7.0 | Lucknow | Runs | 6.0 | Mohsin Khan | KL Rahul | 77.0 | Mohsin Khan | 4--16 |
| 45 | 46 | May 1,2022 | Maharashtra Cricket Association Stadium,Pune | Chennai | Hyderabad | Group | Hyderabad | Field | 202.0 | 2.0 | 189.0 | 6.0 | Chennai | Runs | 13.0 | Ruturaj Gaikwad | Ruturaj Gaikwad | 99.0 | Mukesh Choudhary | 4--46 |
| 46 | 47 | May 2,2022 | Wankhede Stadium, Mumbai | Kolkata | Rajasthan | Group | Kolkata | Field | 152.0 | 5.0 | 158.0 | 3.0 | Kolkata | Wickets | 7.0 | Rinku Singh | Sanju Samson | 54.0 | Tim Southee | 2--46 |
| 47 | 48 | May 3,2022 | Dr DY Patil Sports Academy, Mumbai | Gujarat | Punjab | Group | Gujarat | Bat | 143.0 | 8.0 | 145.0 | 2.0 | Punjab | Wickets | 8.0 | Kagiso Rabada | Sai Sudharsan | 65.0 | Kagiso Rabada | 4--33 |
| 48 | 49 | May 4,2022 | Maharashtra Cricket Association Stadium,Pune | Banglore | Chennai | Group | Chennai | Field | 173.0 | 8.0 | 160.0 | 8.0 | Banglore | Runs | 13.0 | NaN | Devon Conway | 56.0 | Maheesh Theekshana | 3--27 |
| 49 | 50 | May 5,2022 | Brabourne Stadium, Mumbai | Delhi | Hyderabad | Group | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 50 | 51 | May 6,2022 | Brabourne Stadium, Mumbai | Gujarat | Mumbai | Group | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 51 | 52 | May 7,2022 | Wankhede Stadium, Mumbai | Punjab | Rajasthan | Group | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 52 | 53 | May 7,2022 | Maharashtra Cricket Association Stadium,Pune | Kolkata | Lucknow | Group | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
Data Preprocessing¶
In [4]:
# Checking any null values in our dataset
print(data.isnull().sum())
match_id 0 date 0 venue 0 team1 0 team2 0 stage 0 toss_winner 4 toss_decision 4 first_ings_score 4 first_ings_wkts 4 second_ings_score 4 second_ings_wkts 4 match_winner 4 won_by 4 margin 4 player_of_the_match 5 top_scorer 4 highscore 4 best_bowling 4 best_bowling_figure 4 dtype: int64
In [5]:
# Removing null values along with their Rows( By using 'inplace = True' arguments we done parmanent removal of Null values)
data.dropna(inplace=True)
In [6]:
# from result we can clearly see that there is not any null values in our dataset
data.isnull().sum()
Out[6]:
match_id 0 date 0 venue 0 team1 0 team2 0 stage 0 toss_winner 0 toss_decision 0 first_ings_score 0 first_ings_wkts 0 second_ings_score 0 second_ings_wkts 0 match_winner 0 won_by 0 margin 0 player_of_the_match 0 top_scorer 0 highscore 0 best_bowling 0 best_bowling_figure 0 dtype: int64
In [7]:
# Checking any Duplicate values in our dataset
print(data.duplicated().sum())
0
Number of matches won by each team in ipl 2022¶
In [8]:
figure = px.bar(data, x = 'match_winner', title ="Number of matches won by each team in ipl 2022") # Here we don't need to describe Y-Axis because
figure.show() # it's already calculate count of it in Y-axis
here we Analyze whether most teams win by defending(batting first) or chasing (bowling first)¶
In [9]:
data['won_by'] = data["won_by"].map({"Wickets": "Chasing",
"Runs": "Defending"})
won_by = data['won_by'].value_counts()
label = won_by.index
counts = won_by.values
colors = ['red','green']
fig = go.Figure(data=[go.Pie(labels=label, values=counts)])
fig.update_layout(title_text = "Match wins: Chasing vs Defending")
fig.update_traces(hoverinfo ='label+percent' ,textinfo = 'value',
textfont_size =30,
marker=dict(colors=colors,
line=dict(color='black', width=3)))
fig.show()
Which player did the best bowling¶
In [10]:
fig=px.bar(data,x ="best_bowling" ,title="Best Bowler in ipl 2022")
fig.show()
Which Player got Highest number of player of the match Award¶
In [11]:
fig = px.bar(data, x ="player_of_the_match" ,title="Most Player of the Match Award")
fig.show()
Top Scorer in IPL 2022¶
In [12]:
fig = px.bar(data ,x ="top_scorer", y ='highscore',
color = 'highscore',
title ="Top scorer of IPL 2022")
fig.show()
Now Let's see what most team prefer (batting or bowling) after winning the toss¶
In [13]:
a = data["toss_decision"].value_counts()
label = a.index
counts = a.values
colors = ['skyblue','yellow']
fig =go.Figure(data=[go.Pie(labels=label, values=counts)])
fig.update_layout(title_text="Toss Decision")
fig.update_traces(hoverinfo='label+percent',
textinfo='value', textfont_size=30,
marker=dict(colors=colors,
line=dict(color='black',width=3)))
fig.show()
Now let's have a look at whether most of the wickets fall while setting the target or while chasing the target¶
In [14]:
figure =go.Figure()
figure.add_trace(go.Bar(x =data["venue"], y =data["first_ings_wkts"] ,name ='First Innings Wickets', marker_color ='gold'))
figure.add_trace(go.Bar(x =data["venue"], y =data["second_ings_wkts"] ,name ='second Innings Wickets', marker_color ='lightgreen'))
figure.update_layout(barmode='group', xaxis_tickangle=-45)
figure.show()
In [ ]: